package com.molichuxing.gateway.bff.order.entity.response;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.OrderPayWayEnum;
import com.molichuxing.services.property.OrderScheduleStatusEnum;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @Author: renzhengyu
 * @Description:
 * @Date: Created in 10:41 2019/8/23
 * @Modified By:
 **/
@Data
public class OrderScheduleVo  extends ResponseRootDto {
    private static final long serialVersionUID = -5358364726609603417L;

    private Integer id;

    /**
     * 订单号
     */
    @JSONField(serializeUsing= ToStringSerializer.class)
    @ApiModelProperty(value = "订单号")
    private Long orderCode;

    /**
     * 排期期数
     */
    @ApiModelProperty(value = "排期期数")
    private Integer periods;

    /**
     * 总还款期数
     */
    @ApiModelProperty(value = "总还款期数")
    private Integer totalPeriods;

    /**
     * 应付款金额（不含保证金）
     */
    @ApiModelProperty(value = "还款金额")
    private BigDecimal payable;

    /**
     * 保证金
     */
    @ApiModelProperty(value = "保证金")
    private BigDecimal deposit;

    /**
     * 用户id
     */
    private Integer userId;

    /**
     * 经销商id
     */
    private Integer dealerId;

    /**
     * 经销商名称
     */
    private String dealerName;

    /**
     * 应付款日期
     */
    @ApiModelProperty(value = "应还款日")
    private LocalDate payableDate;

    /**
     * 实际支付时间
     */
    @ApiModelProperty(value = "还款时间")
    private LocalDateTime paySuccessTime;

    /**
     * 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，14：智能终端-密码键盘，21：微信-H5， 22：微信-APP，23：微信-公众号，24：微信-扫码，25：微信-小程序，31：支付宝-H5，32：支付宝-APP，41: 线下支付，51：银联-H5，52：银联-APP)
     */
    @ApiModelProperty(value = "支付方式")
    private Integer payWay;

    /**
     * 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，14：智能终端-密码键盘，21：微信-H5， 22：微信-APP，23：微信-公众号，24：微信-扫码，25：微信-小程序，31：支付宝-H5，32：支付宝-APP，41: 线下支付，51：银联-H5，52：银联-APP)
     */
    @ApiModelProperty(value = "支付方式")
    private String payWayStr;

    /**
     * 还款终端
     */
    private String repayTerminal;

    /**
     * 状态（0：未还款，1：已还款，2：已终止）
     */
    private Integer status;

    /**
     * 状态（0：未还款，1：已还款，2：已终止）
     */
    @ApiModelProperty(value = "还款状态")
    private String statusName;
}
